這次來升級 EKS 1.25 到 1.26
v1alpha2
,而是支援 v1。所以你建立的 node 必須支援 container runtime CRI v1$ containerd --version
containerd github.com/containerd/containerd 1.6.19 1e1ea6e986c6c86565bc33d52e34b81b3e2bc71f
1.12
或更新版本aws-node
的資源上運行。所以我們要用 kubectl
命令檢查相應的 DaemonSet。kubectl describe 確定自己版本
kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3
v1.7.3
查看是哪種 type 的 add-on 安裝在目前 cluster 內。如果有 version 回覆,代表你已經有 EKS type 的 add-on 使用中,不需處理。假設是 error 回傳,則你必須手動處理
aws eks describe-addon --cluster-name xxx-dev --addon-name vpc-cni --query addon.addonVersion --output text
An error occurred (ResourceNotFoundException) when calling the DescribeAddon operation: No addon: vpc-cni found in cluster: xxx-dev
儲存你現有的 configuration
kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
你可以使用指令或者去 console 進行新增,這邊我們要做 IaC,所以使用 terraform
resource "aws_eks_addon" "example" {
cluster_name = aws_eks_cluster.example.name
addon_name = "vpc-cni"
addon_version = "v1.15.0-eksbuild.2"
}